Add support for Azure Linux 4 to chrony, kdump, kill, modprobe, dhclient tools#4570
Add support for Azure Linux 4 to chrony, kdump, kill, modprobe, dhclient tools#4570bhagyapathak wants to merge 2 commits into
Conversation
✅ AI Test Selection — PASSED6 test case(s) selected (view run) Marketplace image: suse sles-15-sp6 gen2 latest
Test case details
|
There was a problem hiding this comment.
Pull request overview
This PR updates several LISA “tools” to better support Azure Linux 4 (AzureLinux/CBLMariner v4+) behavior and to make a few tool interactions more robust (chrony parsing, kdump tool selection, process killing, and modprobe reload reconnect behavior).
Changes:
- Treat CBLMariner/AzureLinux v4+ as Fedora-like for kdump and dhclient timeout discovery (NetworkManager path).
- Improve Chrony tracking validation by loosening the Leap Status match to work across output variants.
- Make
Kill.by_name()resolve PIDs viapgrepfirst (withpidoffallback), and reset the node connection on modprobe reload retry.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| lisa/tools/modprobe.py | On reload retry, closes the node connection to force a fresh SSH transport on the next attempt. |
| lisa/tools/kill.py | Switches “kill by name” flow to PID discovery via pgrep, with pidof fallback. |
| lisa/tools/kdump.py | Routes AzureLinux/CBLMariner v4+ to the Fedora kdump implementation; broadens Fedora installer assertion. |
| lisa/tools/dhclient.py | Adds CBLMariner handling for DHCP timeout logic, using NetworkManager for v4+. |
| lisa/tools/chrony.py | Updates leap-status detection to be more tolerant and uses search() instead of match(). |
cd8a059 to
955ec65
Compare
✅ AI Test Selection — PASSED6 test case(s) selected (view run) Marketplace image: suse sles-15-sp6 gen2 latest
Test case details
|
| # Find PIDs via pgrep (matches by process name), then kill each PID | ||
| # individually to avoid the shell interpreting the name as a job spec. | ||
| pgrep = self.node.tools[Pgrep] | ||
| processes = pgrep.get_processes(process_name) | ||
| if processes: |
There was a problem hiding this comment.
Fixed in the latest commit — by_name now tries pidof first for exact-name matching, and only falls back to pgrep when pidof finds nothing.
955ec65 to
9d79a0e
Compare
✅ AI Test Selection — PASSED3 test case(s) selected (view run) Marketplace image: suse sles-15-sp6 gen2 latest
Test case details
|
Description
Related Issue
Type of Change
Checklist
Test Validation
Key Test Cases:
Impacted LISA Features:
Tested Azure Marketplace Images:
Test Results